package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 工资条信息对象 wage_slip_info
 *
 * @author 管鸿影
 * @date 2025-02-16
 */
public class WageSlipInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 工资条编号 */
    private Long wageSlipId;

    /** 员工编号 */
    @Excel(name = "员工编号")
    private Long employeeId;

    /** 月份 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "月份", width = 30, dateFormat = "yyyy-MM-dd")
    private Date month;

    /** 总工资 */
    @Excel(name = "总工资")
    private BigDecimal grossSalary;

    /** 扣除项 */
    @Excel(name = "扣除项")
    private BigDecimal deductions;

    /** 实发工资 */
    @Excel(name = "实发工资")
    private BigDecimal netSalary;

    /** 社保 */
    @Excel(name = "社保")
    private BigDecimal siDeduction;

    /** 公积金 */
    @Excel(name = "公积金")
    private BigDecimal hfDeduction;

    /** 个人所得税 */
    @Excel(name = "个人所得税")
    private BigDecimal iitDeduction;

    public void setWageSlipId(Long wageSlipId)
    {
        this.wageSlipId = wageSlipId;
    }

    public Long getWageSlipId()
    {
        return wageSlipId;
    }

    public void setEmployeeId(Long employeeId)
    {
        this.employeeId = employeeId;
    }

    public Long getEmployeeId()
    {
        return employeeId;
    }

    public void setMonth(Date month)
    {
        this.month = month;
    }

    public Date getMonth()
    {
        return month;
    }

    public void setGrossSalary(BigDecimal grossSalary)
    {
        this.grossSalary = grossSalary;
    }

    public BigDecimal getGrossSalary()
    {
        return grossSalary;
    }

    public void setDeductions(BigDecimal deductions)
    {
        this.deductions = deductions;
    }

    public BigDecimal getDeductions()
    {
        return deductions;
    }

    public void setNetSalary(BigDecimal netSalary)
    {
        this.netSalary = netSalary;
    }

    public BigDecimal getNetSalary()
    {
        return netSalary;
    }

    public void setSiDeduction(BigDecimal siDeduction)
    {
        this.siDeduction = siDeduction;
    }

    public BigDecimal getSiDeduction()
    {
        return siDeduction;
    }

    public void setHfDeduction(BigDecimal hfDeduction)
    {
        this.hfDeduction = hfDeduction;
    }

    public BigDecimal getHfDeduction()
    {
        return hfDeduction;
    }

    public void setIitDeduction(BigDecimal iitDeduction)
    {
        this.iitDeduction = iitDeduction;
    }

    public BigDecimal getIitDeduction()
    {
        return iitDeduction;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("wageSlipId", getWageSlipId())
                .append("employeeId", getEmployeeId())
                .append("month", getMonth())
                .append("grossSalary", getGrossSalary())
                .append("deductions", getDeductions())
                .append("netSalary", getNetSalary())
                .append("createTime", getCreateTime())
                .append("updateTime", getUpdateTime())
                .append("siDeduction", getSiDeduction())
                .append("hfDeduction", getHfDeduction())
                .append("iitDeduction", getIitDeduction())
                .toString();
    }
}
